package com.news;

import com.news.ui.MainWindow;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.swing.*;

/**
 * 新闻聚合应用程序主类
 */
public class NewsApplication {
    
    private static final Logger logger = LoggerFactory.getLogger(NewsApplication.class);
    
    public static void main(String[] args) {
        // 设置系统属性
        System.setProperty("java.awt.headless", "false");
        
        // 使用事件分发线程启动UI
        SwingUtilities.invokeLater(() -> {
            try {
                logger.info("正在启动新闻聚合应用程序...");
                
                // 创建并显示主窗口
                MainWindow mainWindow = new MainWindow();
                mainWindow.setVisible(true);
                
                logger.info("新闻聚合应用程序启动成功");
                
            } catch (Exception e) {
                logger.error("启动应用程序失败", e);
                
                // 显示错误对话框
                JOptionPane.showMessageDialog(null, 
                    "启动应用程序失败: " + e.getMessage(), 
                    "错误", 
                    JOptionPane.ERROR_MESSAGE);
                
                System.exit(1);
            }
        });
    }
} 